package hcn.protocol.brandnew.zhenliao.jianyan;

import lombok.Data;
import javax.xml.bind.annotation.*;
import java.util.List;
import hcn.protocol.brandnew.BaseRequest;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import ctd.util.xml.jaxb.DateTimeAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;


/**
 * 检验申请信息查询(批量) - ODS_03050014
 *
 * @author enjoyLife
 */
@Data
@XmlRootElement(name = "MsgBody")
@XmlAccessorType(XmlAccessType.FIELD)
public class LabRequestBatchQueryRequest extends BaseRequest {

    /**
     * 就诊摘要
     */
    @XmlElement(name = "Visit")
    private Visit visit;
    /**
     * 申请请求信息
     */
    @XmlElement(name = "LabRequest")
    private LabRequest labRequest;

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class Visit {

        /**
         * 就诊机构代码
         */
        @XmlElement(name = "VisitOrganization")
        private String visitOrganization;
    }

    @Data
    @XmlAccessorType(XmlAccessType.FIELD)
    public static class LabRequest {

        /**
         * 申请单起始时间
         */
        @XmlElement(name = "EffectiveTimeLow")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date effectiveTimeLow;
        /**
         * 申请单截至时间
         */
        @XmlElement(name = "EffectiveTimeHigh")
        @XmlJavaTypeAdapter(DateTimeAdapter.class)
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
        private Date effectiveTimeHigh;
        /**
         * 检验申请单状态
         */
        @XmlElement(name = "RequestStatus")
        private Byte requestStatus;
        /**
         * 每页条数
         */
        @XmlElement(name = "PageSize")
        private Long pageSize;
        /**
         * 分页页数
         */
        @XmlElement(name = "PageNo")
        private Long pageNo;
    }

}
